<?php include_once '../conexion.php'; ?>
<?php
$html_list = '<ul id="treemenu1" class="treeview">';

function getCategorias() {
    $sqlstr = "SELECT cp.catprod_id, cp.catprod_nombre, cp.catprod_parent_id, cp.catprod_visible, " .
            "get_nivel(catprod_id) as catprod_nivel, " .
            "(select count(cat.catprod_parent_id) from categoria_producto cat where cat.catprod_parent_id = cp.catprod_id) as catprod_hijos ".
            "FROM categoria_producto cp ".
            "WHERE cp.catprod_visible = true ".
            "ORDER BY 5 ASC, 3 ASC;";
    $arr_cat = array();
    $consulta = getConexion()->retornar($sqlstr);
    while ($reg = pg_fetch_object($consulta)) {
        array_push($arr_cat, $reg);
    }
    return $arr_cat;
}


$array_categorias = getCategorias();
$doc = new DOMDocument();

function getNodo($tag_name, $array_attrs){
    global $doc;
    $nodo=$doc->createElement($tag_name);
    foreach ($array_attrs as $key => $value) {
        $nodo->setAttribute($key, $value);
    }
    return $nodo;
}

$UL = getNodo('ul', array('id'=>'treemenu1', 'class'=>'treeview'));
$len = count($array_categorias);
$m = 0;
if (count($array_categorias) > 0) {
    for ($m = 0; $m < $len; $m++) {
        if($array_categorias[$m]->catprod_nivel == 1){
            $nodo_raiz = $doc->createElement('li');
            if($array_categorias[$m]->catprod_hijos==0){
                $nodo_hoja = getNodo('a', array('id'=>$array_categorias[$m]->catprod_id, 'href'=>'productos.php?ref_parent_id='.$array_categorias[$m]->catprod_id, 'target'=>'frame_prods'));
                $nodo_hoja->appendChild(new DOMText($array_categorias[$m]->catprod_nombre));
            }else{
                $nodo_hoja = new DOMText($array_categorias[$m]->catprod_nombre);
            }
            $nodo_raiz->appendChild($nodo_hoja);
            createTree($nodo_raiz, $array_categorias[$m], $m);           
            $UL->appendChild($nodo_raiz);
        }else{
            break;
        }
    }
    $html_list = $UL->ownerDocument->saveXML($UL); 
}

function createTree(&$nodo, $obj, $inx) {
    global $array_categorias, $doc, $len;
    $i = 0;
    if ($obj != null) {
        $li = null;
        $ul_var = $doc->createElement('ul');
        for ($i = $inx; $i < $len; $i++) {
            if ($array_categorias[$i]->catprod_nivel > $obj->catprod_nivel && $array_categorias[$i]->catprod_parent_id == $obj->catprod_id) {
                $li = $doc->createElement('li');
                if($array_categorias[$i]->catprod_hijos==0){
                    $nodo_hoja = getNodo('a', array('id'=>$array_categorias[$i]->catprod_id, 'href'=>'productos.php?ref_parent_id='.$array_categorias[$i]->catprod_id, 'target'=>'frame_prods'));
                    $nodo_hoja->appendChild(new DOMText($array_categorias[$i]->catprod_nombre));
                }else{
                    $nodo_hoja = new DOMText($array_categorias[$i]->catprod_nombre);
                }
                $li->appendChild($nodo_hoja);
                createTree($li, $array_categorias[$i], $i);
                $ul_var->appendChild($li);
            }
        }
        if($li != null){
            $nodo->appendChild($ul_var);
        }
    }
}


?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Productos</title>
        <link rel="stylesheet" type="text/css" href="complements/simpletreemenu/simpletree.css" />
        <script type="text/javascript" src="complements/simpletreemenu/simpletreemenu.js"></script> 
    </head>
    <body>
        <h4>Men&uacute; de categorias:</h4>

        <a href="javascript:ddtreemenu.flatten('treemenu1', 'expand')">Expandir todo</a> | <a href="javascript:ddtreemenu.flatten('treemenu1', 'contact')">Contraer todo</a>
        <?php echo $html_list ?>
        <script type="text/javascript">
            //ddtreemenu.createTree(treeid, enablepersist, opt_persist_in_days (default is 1))
            ddtreemenu.closefolder="complements/simpletreemenu/closed.gif"; //set image path to "closed" folder image
            ddtreemenu.openfolder="complements/simpletreemenu/open.gif"; //set image path to "open" folder image
            ddtreemenu.createTree("treemenu1", true);
            //ddtreemenu.createTree("treemenu2", false)
        </script>
        
    </body>
</html>
